# -*- coding=utf-8-*-
"""
@File:memory_selection
@Author:Created by Han X.Y
@Date:on 2021/7/15 15:05 
"""
"""
给你两个字符串 haystack 和 needle ，请你在 haystack 字符串中找出 needle 字符串出现的第一个位置（下标从 0 开始）。如果不存在，则返回  -1 。

 

说明：

当 needle 是空字符串时，我们应当返回什么值呢？这是一个在面试中很好的问题。

对于本题而言，当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。

示例 1：

输入：haystack = "hello", needle = "ll"
输出：2
示例 2：

输入：haystack = "aaaaa", needle = "bba"
输出：-1
示例 3：

输入：haystack = "", needle = ""
输出：0


"""


class Solution:
    def strStr(self, haystack, needle) :
        i, j = 0, 0
        while i < len(haystack) :
            print(i, j, haystack[i], needle[j])
            if haystack[i] == needle[j]:
                j+=1
            else:
                j=0
                i=0

            i+=1
        return i-j if j==len(needle)-1 else -1



if __name__=="__main__":
    s=Solution()
    # for i ,j in zip(["mississippi","mississippi","","aaaaa","hello"],["issip","issipi","","bba",'ll']):
    #     print(s.strStr(i,j))

    print(s.strStr("mississippi","issip"))
